The invention relates to a computer-implemented method for analysing the time response of complex distributed systems comprising program modules (tasks) and/or electronic circuit modules.
Such systems consist of a plurality of components in the form of program modules (tasks) and/or electronic circuit modules. The components communicate with each other and process or transform data. Further, such systems may comprise sensors for detecting data, modules for interacting with the user, actuators for physically influencing the environment or other systems as well as output media for transmitting information to the user or the environment.
Certain components (execution resources), in turn, may partly execute one or more program modules. If more modules are executed, the order or the distribution of execution times can be assigned to the individual modules with sequence planning or scheduling method.
Possible executions of scheduling methods are static scheduling methods, where the order of executions and the distribution of execution times for the modules to be executed are statically determined, and also dynamic scheduling methods, where the order and the execution time distribution are determined according to a predetermined strategy regarding runtime depending on data to be processed, the executions of other modules, the environment and/or user interactions.
Such systems and components may be time-critical in that they do not only require a correct determination of results and control decisions but there are also requirements of the duration of detection and points in time for providing results. Examples of such requirements are maximum latency periods for the determination of results or guaranteed response times to changes in values or sensor or input data. However, such requirements may also be provision of new calculation results in regular time lags or within a fixed time frame.
Modules may activate each other and/or exchange data asynchronously via communication link. For modelling said communication or activation links, numerous event models have been developed. Such relations may be modeled by, e.g., only one single period, one period and a jitter, an event stream [Gresser: Echtzeitnachweis Ereignisgesteuerter Realzeitsysteme, München 1993, (incorporated herein by reference)] or hierarchical event streams (see WO 2008/003427). Many other event models are also possible.
As regards the analysis of real-time systems, it is important to approach the processes in a real system as closely as possible. The various components and tasks are implicitly inter-related to a great extent in real embedded systems, which excludes execution scenarios, which cannot be ruled out in the real-time analysis without considering these dependencies. Thus, the real-time analysis could yield more conservative results like longer maximum reaction times (response times) than required for real systems.
A series of dependencies are considered in existing real-time analyses. However, this always requires a specific broadening of the analysis algorithms for considering exactly the desired type of dependencies. Consequently, considering new types of dependencies in the analysis is complicated. Further, the existing real-time analysis methods cover only part of the dependencies.